// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.linqingying.gitcode.ui.cloneDialog

import com.intellij.ui.SingleSelectionModel
import com.linqingying.gitcode.authentication.accounts.GitCodeAccount
import javax.swing.ListModel

interface GCCloneDialogRepositoryListLoader {
  val loading: Boolean
  val listModel: ListModel<GCRepositoryListItem>
  val listSelectionModel: SingleSelectionModel

  fun loadRepositories(account: GitCodeAccount)
  fun clear(account: GitCodeAccount)
  fun addLoadingStateListener(listener: () -> Unit)
}
